"""
面试题:
深拷贝与浅拷贝的区别?
1 共同点:都是来自于copy模块
区别:
用法不同:
浅拷贝:copy.copy(list1)
浅拷贝:copy.deepcopy(list1)
拷贝的深度不同:
浅拷贝:只拷贝数据(对象)的第一层,不会拷贝数据(对象)的子数据(对象)
深拷贝:完全把数据拷贝过去,包括他的子对象
"""
import copy

list1=[1,2,3,["张三","李四"]]
# 浅拷贝
# list2=copy.copy(list1)
# print("未改动前的list1:",list1)
# list1[3][0]="王五"
# print("改动后的list1:",list1)
# print("list2:",list2)

# 深拷贝
# list2=copy.deepcopy(list1)
# print("未改动前的list1:",list1)
# list2[3][0]="王五"
# print("改动后的list1:",list1)
# print("list2:",list2)

# list2=list1.copy()  #浅拷贝
list2=list1  #浅拷贝     list1, list2共享 数据
# print("未改动前的list1:",list1)
# print("未改动前的list2:",list2)
# list2[0]="王五"
# print("改动后的list1:",list1)
# print("list2:",list2)
print(id(list2))
print(id(list1))
